#ifndef COMMAND_H_
#define COMMAND_H_

#include <string>
#include <map>
#include <iostream>
#include "Processor.h"

using namespace std;

namespace phnq
{
	namespace phnqlets
	{
		struct InitResult;
		
		class Command
		{
			public:
				virtual void execute(string path, map<string,string> params, processor_response *response) = 0;
				static Command* create(string cmdName);
				static Command* createStaticFileCommand();
				static void dispose(Command* command);
		};
	}
}

#endif // COMMAND_H_
